<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Crud extends CI_Controller {

	function __construct()
	{
		parent::__construct();
		
		$this->load->database();
		$this->load->helper('url');
		$this->load->library('grocery_CRUD');	
		$this->load->library('session');
		
		if ($this->session->userdata('usuario') == FALSE)
			redirect(base_url(). 'index.php/login/', 'refresh');
	}
	
	function _crud_output($output = null)
	{
		$output->css_files[] = base_url().'assets/melamud/css/estilos.css';
		$output->css_files[] = base_url().'assets/bootstrap/css/bootstrap.css';
		
		$output->js_files[] = base_url().'assets/bootstrap/js/bootstrap.js';
				
		$this->load->view('view_crud.php',$output);	
	}
	
	function index()
	{
		redirect('/crud/propiedad_management');
		//$this->_crud_output((object)array('output' => '' , 'js_files' => array() , 'css_files' => array()));
		
	}	
	
	function zona_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('zona');
			$crud->required_fields('descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Zonas';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function localidad_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('localidad');
			$crud->required_fields('descripcion');
			
			 $crud->set_relation('idZona','zona','descripcion');
			 
			$output = $crud->render();
			$output->titulo = 'Localidades';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function barrio_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('barrio');
			$crud->required_fields('descripcion');
			
			$crud->set_relation('idZona','zona','descripcion');
			$crud->set_relation('idLocalidad','localidad','descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Barrios';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function tipoPropiedad_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('tipopropiedad');
			$crud->required_fields('descripcion');
			
			$crud->set_relation('idAgrupador','agrupacionpropiedad','descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Tipo de propiedad';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function tipoOperacion_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('tipooperacion');
			$crud->required_fields('descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Tipo de Operacion';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function adicional_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('adicional');
			$crud->required_fields('descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Adicional';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function servicio_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('servicio');
			$crud->required_fields('descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Servicio';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function espacio_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('espacio');
			$crud->required_fields('descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Espacio';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function estado_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('estadopropiedad');
			$crud->required_fields('descripcion');
			
			$output = $crud->render();
			$output->titulo = 'Estados';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}
	
	function emprendimiento_management()
	{
		try{
			$crud = new grocery_CRUD();

			//$crud->set_theme('datatables');
			$crud->set_table('emprendimiento');
			$crud->required_fields('descripcion');
			$crud->set_field_upload('urlImagenLogo','assets/melamud/img/emprendimientos');
			$crud->set_field_upload('urlImagenEmprendimiento','assets/melamud/img/emprendimientos');
			$crud->columns('idEmprendimiento','descripcion','urlImagenLogo');
			$output = $crud->render();
			$output->titulo = 'Emprendimientos';
			$this->_crud_output($output);
			
		}catch(Exception $e){
			show_error($e->getMessage().' --- '.$e->getTraceAsString());
		}
	}

	function propiedad_management()
	{
			$this->load->helper('url');
			$crud = new grocery_CRUD();
			$crud->set_table('propiedad');
			
			$crud->set_relation('idTipo','tipopropiedad','descripcion');
			$crud->set_relation('idTipoOperacion','tipooperacion','descripcion');
			$crud->set_relation('idBarrio','barrio','descripcion');
			$crud->set_relation('idLocalidad','localidad','descripcion');
			$crud->set_relation('idEstadoInmueble','estadopropiedad','descripcion');
			
			$crud->add_action('Delete', '', 'inmueble/deletePropiedad','delete-icon');
			$crud->add_action('Edit', '', 'inmueble/edit','edit-icon');
			$crud->add_action('Duplicar', 'http://www.grocerycrud.com/assets/uploads/general/smiley.png', 'inmueble/duplicar');
			
			//$crud->set_js('assets/melamud/js/addPropiedad.js');
			$crud->change_field_type('profesional', 'true_false');
			$crud->field_type('esPortada', 'true_false');
			
			$crud->display_as('idLocalidad','Localidad');
			$crud->display_as('idBarrio','Barrio');
			$crud->display_as('cantAmbientes','Ambientes');
			$crud->display_as('idTipoOperacion','Operacion');
			
			$crud->columns('idPropiedad','idLocalidad','idBarrio', 'idTipoOperacion','titulo','subtitulo','cantAmbientes','precioDolar','precioPeso','esPortada');
			
			$crud->unset_delete(); 
			$crud->unset_edit();
			
			$crud->callback_column('esPortada',array($this,'_callback_esPortada_column'));
			
			$output = $crud->render();
			
			// load view
			//$output->output = $this->load->view('view_propiedadAdd.php','', true);
			$output->titulo='Propiedad';
			$this->_crud_output($output);
			
		
	}
	
	function back_propiedad_management()
	{
			$this->load->helper('url');
			$crud = new grocery_CRUD();
			$crud->set_table('propiedad_deleted');
			
			$crud->set_relation('idTipo','tipopropiedad','descripcion');
			$crud->set_relation('idTipoOperacion','tipooperacion','descripcion');
			$crud->set_relation('idBarrio','barrio','descripcion');
			$crud->set_relation('idLocalidad','localidad','descripcion');
			$crud->set_relation('idEstadoInmueble','estadopropiedad','descripcion');

			$crud->add_action('Restaurar', 'http://www.grocerycrud.com/assets/uploads/general/smiley.png', 'inmueble/restaurar');
			
			//$crud->set_js('assets/melamud/js/addPropiedad.js');
			$crud->change_field_type('profesional', 'true_false');
			
			$crud->display_as('idLocalidad','Localidad');
			$crud->display_as('idBarrio','Barrio');
			$crud->display_as('cantAmbientes','Ambientes');
			$crud->display_as('idTipoOperacion','Operacion');
			
			$crud->columns('idPropiedad','idLocalidad','idBarrio', 'idTipoOperacion','titulo','subtitulo','cantAmbientes','precioDolar','precioPeso');
			
			$crud->unset_delete(); 
			$crud->unset_edit();
			$crud->unset_add();
			
			
			$output = $crud->render();
			
			// load view
			//$output->output = $this->load->view('view_propiedadAdd.php','', true);
			$output->titulo='Propiedad';
			$this->_crud_output($output);
			
		
	}
	
	public function _callback_esPortada_column($value, $row)
	{
		if ($value == 1){
			return "<button onclick='document.location.href=\"".site_url('inmueble/setPortada/'.$row->idPropiedad)."\"' class='btn btn-success' type='button'>
					<span>Si</span>
				</button>";
		}
		else if ($value == 0){
			return "<button onclick='document.location.href=\"".site_url('inmueble/setPortada/'.$row->idPropiedad)."\"' class='btn btn-primary' type='button'>
					<span>No</span>
				</button>";
		}

	}

	
}